Dual-Level Parallelism Exploitation with OpenMP in Coastal Ocean Circulation Modeling
نویسندگان
چکیده
Two alternative dual-level parallel implementations of the Multiblock Grid Princeton Ocean Model (MGPOM) are compared in this paper. The first one combines the use of two programming paradigms: message passing with the Message Passing Interface (MPI) and shared memory with OpenMP (version called MPI-OpenMP); the second uses only OpenMP (version called OpenMP-Only). MGPOM is a multiblock grid code that enables the exploitation of two levels of parallelism. The MPI-OpenMP implementation uses MPI to parallelize computations by assigning each grid block to a unique MPI process. Since not all grid blocks are of the same size, the workload between processes varies. OpenMP is used within each MPI process to improve load balance. The alternative OpenMPOnly implementation uses some extensions proposed to OpenMP that defines thread groups in order to efficiently exploit the available two levels of parallelism. These extensions are supported by a research OpenMP compiler named NanosCompiler. Performance results of the two implementations from the MGPOM code on a 20-block grid for the Arabian Gulf simulation demonstrate the efficacy of the OpenMP-Only versions of the code. The simplicity of the OpenMP implementation as well as the possibility of using and simply defining policies to dynamically change the allocation of OpenMP threads to the two levels of parallelism is the main result of this study and suggests to consider this alternative for the parallelization of future applications.
منابع مشابه
ERDC MSRC/PET TR/00-08 Dual-Level Parallelism Improves Load-Balance in Coastal Ocean Circulation Modeling
Numerical grid generation techniques play an important role in the numerical solution of partial di erential equations on arbitrarily-shaped regions. For coastal ocean modeling, in particular, a one-block grid covering the region of interest is most commonly used. Most bodies of water have complicated coastlines; e.g., Persian Gulf and Mediterranean Sea. In such a physical domain, the number of...
متن کاملERDC MSRC/PET TR/00-33 Comparison of OpenMP and Pthreads within a Coastal Ocean Circulation Model Code
Numerical grid generation techniques play an important role in the numerical solution of partial di erential equations on arbitrarily shaped regions. For coastal ocean modeling, a one-block grid covering the region of interest, while commonly used, has many disadvantages, including large numbers of unused grid points around bodies of water with complicated coastlines, large memory requirements,...
متن کاملPortable Support and Exploitation of Nested Parallelism in OpenMP
In this paper, we present an alternative implementation of the NANOS OpenMP runtime library (NthLib) that targets portability and efficient support of multiple levels of parallelism. We have implemented the runtime libraries of available opensource OpenMP compilers on top of NthLib, reducing thus their overheads and providing them with inherent support for nested parallelism. In addition, we pr...
متن کاملExploiting Multiple Levels of Parallelism in OpenMP: A Case Study
Most current shared{memory parallel programming environments are based on thread packages that allow the exploitation of a single level of parallelism. These thread packages do not enable the spawning of new parallelism from a previously activated parallel region. Current initiatives (like OpenMP) include in their deenition the exploitation of multiple levels of parallelism through the nesting ...
متن کاملOcean Currents Modeling along the Iranian Coastline of the Oman Sea and the Northern Indian Ocean
The Makran Coast (Iranian Coastline of the Oman Sea on the Northern Indian Ocean) plays an important role in country’s future navigation and trade due to its accessibility. In 2014, the Iranian Makran coastline was selected by the PMO to be studied as the Phase 6 in the series of Monitoring and Modelling Studies of Iranian Coasts with all disciplines being in investigated including currents. Al...
متن کامل